package kr.co.doriclassic.pro12.feedback;

import java.util.Arrays;
import java.util.Comparator;


public class PersonTest {
	public static void main(String[] args) {
		Person[] arr = new Person[3];
		arr[0] = new Person("김태희", 180);
		arr[1] = new Person("김주하", 170);
		arr[2] = new Person("태연", 160);
		
/*		Person p = new Person("김태희");
		System.out.println(arr[0].equals(p));//테스트 비교
*/
		System.out.println("가장 키가 큰 사람은 "+getMaximum(arr));
		
		//바이너리 서치를 이용하는 방법
		Arrays.sort(arr);//바이너리서치는 먼저 배열의 정렬이 필요하다.
		prnArr(arr);
		int a = Arrays.binarySearch(arr, new Person("김태희"));
		System.out.println((a>0)?"Found"+arr[a]:"Not Found");		
			
	}

	public static void prnArr(Person[] arr){
		for (Person p : arr) {
			System.out.println(p);
		}
	}
	
	public static String getMaximum(Person[] array){
		
		Comparator<Person> nameSort= new Comparator<Person>() {
			@Override
			public int compare(Person o1, Person o2) {
				return o1.getName().hashCode()-o2.getName().hashCode();
			}
		};
		//정렬
		Arrays.sort(array, nameSort);
		return array[array.length-1].getName();
	}
	
}
